package com.errol.batchprocessor.payroll.advisorimpl;

import lombok.Getter;

/**
 * 工资单上传、验证、确认过程中的，增强或特殊处理逻辑的标识枚举
 *
 * @author zhang xiao bin
 * @version v1.0
 * @date 2021/01/22
 * @since v5.0.1
 **/
@Getter
public enum PayrollAdvisorTypeEnum {

    /**
     * 费用发放压力测试
     */
    PAYROLL_TEST(-1, "费用发放压力测试"),
    /**
     * 默认发放（PC excel 线上发放）
     */
    DEFAULT(0, "默认"),
    /**
     * 同程生活（新发放接口）
     */
    TC_SH(1, "同城生活"),
    /**
     * 线下发放（PC excel 线下发放）
     */
    OFFLINE(2, "线下发放"),
    ;

    private final Integer code;
    private final String desc;

    PayrollAdvisorTypeEnum(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public static PayrollAdvisorTypeEnum resolve(Integer code) {
        for (PayrollAdvisorTypeEnum value : PayrollAdvisorTypeEnum.values()) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        return null;
    }
}
